急问~如何读取分隔符‘|’之间的字符串

来源:百度知道 编辑:UC知道 时间:2024/06/20 02:39:05
1 |人民币|0302830401302091905|unknow |0302011729300038990|
想用标准C++把分隔符间的字符串都提取出来,应该怎么做呢??麻烦大家帮忙了,手里现在没分了,回头有分补上 谢谢了。

#include <string> //字符串必须头文件
#include <vector> //容器必须的头文件
using namespace std;
//参数1要分割的字符串比如string str="555ggf|jhjhjh|jhjhj|jjjhjh
//参数数2要分割的关键字比如 string p="|"
//参数数3传入数组容器比如vector<string> arr;把分割成所有字符串放在容器里!
//模仿c#split函数,分割后子字符串个数是分割符个数加一个
inline int split_31(string &str1_31,string c_31,vector<string> &Array_31)//字符分割函数
{
int cleng_31=c_31.size();//分割符号长度
int weii_31=0;//分割符号位置
int readi_31=0;//读数据开始位置
do{
weii_31=str1_31.find(c_31.c_str(),readi_31);
Array_31.push_back(str1_31.substr(readi_31,weii_31-readi_31));
readi_31=weii_31+cleng_31;//读数据位置前移
}while(weii_31!=string::npos);
return 0;
}

///////////////////////////////////////////////////////////
/*
调用例子
vector<string> Array1;
string sss="ab||hj||fg||hmg||fdhg";
split_31(sss,"||",Array1)